#!/bin/bash

# 输出文字颜色

# 30m 黑色字
# 31m 红色字
# 32m 绿色字
# 33m 黄色字
# 34m 蓝色字
# 35m 紫色字
# 36m 天蓝字
# 37m 白色字
# 40;37m 黑底白字
# 41;37m 红底白字
# 42;37m 绿底白字
# 43;37m 黄底白字
# 44;37m 蓝底白字
# 44;37m 蓝底白字
# 45;37m 紫底白字
# 46;37m 天蓝底白字
# 47;30m 白底黑字
# 控制选项说明 ：
#\33[0m 关闭所有属性
#\33[1m 设置高亮度
#\33[4m 下划线
#\33[5m 闪烁
#\33[7m 反显
#\33[8m 消隐
#\33[30m – \33[37m 设置前景色
#\33[40m – \33[47m 设置背景色
#\33[nA 光标上移n行
#\33[nB 光标下移n行
#\33[nC 光标右移n行
#\33[nD 光标左移n行
#\33[y;xH设置光标位置
#\33[2J 清屏
#\33[K 清除从光标到行尾的内容
#\33[s 保存光标位置
#\33[u 恢复光标位置
#\33[?25l 隐藏光标
#\33[?25h 显示光标
#
printColor(){
    
    message=$1
    
    if [ ${#message} -eq 0 ]
    then
        return 1
    fi
    
    color=$2
    
    if [ ${#color} -eq 0 ]
    then
        color="37"
    fi
    
    echo -e "\033[${color}m${message}\033[0m"
    
    return 0
}

printRed(){
    # 这里的双引号必须携带，否则外部传递的参数有空格，则识别人多个参数,
    # 如 hello world , 通过$1只能得到hello
    printColor "${1}" "31"
}

printGreen(){
    printColor "${1}" "32"
}

printYello(){
    printColor "${1}" "33"
}

printBule(){
    printColor "${1}" "34"
}

printPurple(){
    printColor "${1}" "35"
}

printRed "hello world"
printGreen "hello world"
printYello "hello world"
printBule "hello world"
printPurple "hello world"